import {createStore} from "vuex"

import moduleA from "./modules/moduleA"
import moduleB from "./modules/moduleB"

export default createStore({
    modules:{
        a:moduleA,
        b:moduleB
    },
    state:{
        count:123456,
        test:"hello world",
        countAlias:'count'
    },
    getters:{
        countAddFive:(state)=>{
            return state.count +5
        },
        countAddFiveAddTen:(state,getters)=>{
            return getters.countAddFive +10
        }
    },
    mutations:{
        add(state){
           state.count++
        },
        addPlayload(state,playload){
            state.count += playload.num
        }
    },
    actions:{
      addAction({commit}){
          commit('add')
      },
      asyncAddAction({commit}){
        setTimeout(()=>{commit('add')
    },1000)
      },
      asyncAddPloyloadAction({commit},playload){
        setTimeout(()=>{
            commit('addPlayload',playload)
        })
      }
    }
})